package com.yutel.telecom.h2;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;

public class H2Message {
	public final static byte endSymbol = 0x1a; // 包结束符 SUB
	public final static byte splitSymbol = 0x09; // 字段分隔符 TAB \t
	public final static byte[] enterSymbol = { 0x0d, 0x0a }; // 记录分隔符回车 \r\n
	public final int HEADLEN = 86;

	private String a0; // 版本号信息(2位)

	private String a1; // 数据包大小(5位):

	private String a2; // 流水号（20位）

	private String a3; // 标志（1位）：1 表示成功 0 表示失败，仅适用于响应包

	private String a4; // 服务类型（12位）

	private String a5; // 业务号码（20位）

	private String a6; // 业务号码类型(1位)

	private String a7; // 营业点 (6位)

	private String a8; // 营业员 (8位)

	private String a9; // 包编号（5位）

	private String a10; // 最后一包标志（1位）

	private String a11; // 错误码（5位）

	private String header;

	private byte[] body;

	public String getA0() {
		return a0;
	}

	public void setA0(String a0) {
		this.a0 = a0;
	}

	public String getA1() {
		return a1;
	}

	public void setA1(String a1) {
		this.a1 = a1;
	}

	public String getA2() {
		return a2;
	}

	public void setA2(String a2) {
		this.a2 = a2;
	}

	public String getA3() {
		return a3;
	}

	public void setA3(String a3) {
		this.a3 = a3;
	}

	public String getA4() {
		return a4;
	}

	public void setA4(String a4) {
		this.a4 = a4;
	}

	public String getA5() {
		return a5;
	}

	public void setA5(String a5) {
		this.a5 = a5;
	}

	public String getA6() {
		return a6;
	}

	public void setA6(String a6) {
		this.a6 = a6;
	}

	public String getA7() {
		return a7;
	}

	public void setA7(String a7) {
		this.a7 = a7;
	}

	public String getA8() {
		return a8;
	}

	public void setA8(String a8) {
		this.a8 = a8;
	}

	public String getA9() {
		return a9;
	}

	public void setA9(String a9) {
		this.a9 = a9;
	}

	public String getA10() {
		return a10;
	}

	public void setA10(String a10) {
		this.a10 = a10;
	}

	public String getA11() {
		return a11;
	}

	public void setA11(String a11) {
		this.a11 = a11;
	}

	public String getHeader() {
		header = a0 + a1 + a2 + a3 + a4 + a5 + a6 + a7 + a8 + a9 + a10 + a11;
		return header;
	}

	public void setHeader(String header) {
		this.header = header;
	}

	public byte[] getBody() {
		return body;
	}

	public void setBody(byte[] body) {
		this.body = body;
	}

	public H2Message() {
		a0 = "11";
		a1 = Common.addRightSpace(HEADLEN + 1 + "", 5); // 包头+包结束符
		int random = Math.abs(new Random().nextInt(100000) % 100000) + 100000;
		a2 = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + random;
		a3 = "1";
		a6 = "1";
		a7 = "Z00SQD"; // 营业点
		a8 = "Z0000SQD"; // 营业员
		a9 = "00001";
		a10 = "1";
		a11 = "00000";
	}

}